package bean;

import java.util.ArrayList;
import java.util.List;
//回溯法
public class huisu_quanpailie {
    public static void main(String[] args) {
        int a[]={1,2,3};
        List<List<Integer>> lists=new ArrayList<>();
        int v[]=new int[a.length];
         lists=find(a,lists,new ArrayList<>(),v);
         for(List<Integer> l:lists){
             System.out.println(l);
         }
    }
    public static List<List<Integer>> find(int a[], List<List<Integer>> lists,List<Integer> list,int v[]){
        if(list.size()==a.length){
            lists.add(new ArrayList<>(list));
        }
        for(int i=0;i<a.length;i++){
            if(v[i]==1) continue;
            v[i]=1;
            list.add(a[i]);
            find(a,lists,list,v);
            list.remove(list.size()-1);
            v[i]=0;
        }
        return lists;
    }
}
